//
//  ZDUserAccount.h
//  OCSinaWeiBo
//
//  Created by Apple on 15/10/30.
//  Copyright © 2015年 itcast. All rights reserved.
//

#import <Foundation/Foundation.h>

/**
 *  定义用户账户模型
 */
@interface ZDUserAccount : NSObject

/**
 *  用于调用access_token，接口获取授权后的access token
 */
@property (nonatomic, copy, readonly) NSString *access_token;

/**
 *  access_token的生命周期，单位是秒数
 */
@property (nonatomic, copy, readonly) NSNumber *expires_in;

/**
 *  access_token的生命周期（该参数即将废弃，开发者请使用expires_in）
 */
//@property (nonatomic, copy) NSString *remind_in;

/**
 *  当前授权用户的UID
 */
@property (nonatomic, copy, readonly) NSString *uid;

/**
 *  友好显示名称
 */
@property (nonatomic, copy) NSString *name;

/**
 *  用户头像地址（大图），180×180像素
 */
@property (nonatomic, copy) NSString *avatar_large;


#pragma mark - 创建模型
- (instancetype) initWithDictionary:(NSDictionary *)dict;

+ (instancetype) userAccountWithDictionary:(NSDictionary *)dict;


#pragma mark - 保存模型
/**
 *  保存账户数据
 */
- (void)saveUserAccount;

/**
 *  加载账户数据
 */
+ (instancetype)loadUserAccount;


#pragma mark - 加载用户信息
/**
 *  加载用户信息
 *
 *  @param successBlock 请求成功回调
 *  @param failureBlock 请求失败回调
 */
- (void)loadUserInfoWithSuccess:(void (^)(id responseObject))successBlock failure:(void (^)(NSError *error))failureBlock;

/**
 *  保存用户信息
 */
- (void)saveUserInfo;


#pragma mark - 是否登录
+ (BOOL)isLogin;

@end
